﻿/**
 *
 * @file    WrapperTools.h
 * @brief   装饰器公用工具方法
 * @author  fulipeng (fulipengqd@yeah.net)
 * @date    2024-10-22
 *
 */

#ifndef  __PYINTERFACE_WRAPPERTOOLS_H___
#define  __PYINTERFACE_WRAPPERTOOLS_H___

#include <QString>
#include "PythonInterfaceAPI.h"
#include "FITK_Interface/FITKInterfaceGeometry/FITKGeoEnum.h"

namespace Interface
{
    class FITKAbsGeoCommand;
}

namespace PyWrapperTool
{
    /**
     * @brief   体数据封装类
     * @author  fulipeng (fulipengqd@yeah.net)
     * @date    2024-10-22
     */
    class WrapperTools
    {
    public:
        WrapperTools() = default;
        Interface::FITKAbsGeoCommand* getGeoCommand(QString enumName);

        Interface::FITKAbsGeoCommand* getGeoCommand(Interface::FITKGeoEnum::FITKGeometryComType t);

        /**
         * @brief   Update execution status
         * @param   isStatus
         * @author  fulipeng (fulipengqd@yeah.net)
         * @date    2024-10-21
         */
        void updateExecutionStatus(bool isStatus);

        /**
         * @brief   输出控制台日志
         * @param   str log
         * @author  fulipeng (fulipengqd@yeah.net)
         * @date    2024-10-21
         */
        void printConsoleLog(const QString& str);
    };
}
#endif
